Our "Exchange 2013" server died (because of broken Intel RAID drivers that "Windows" doesn't tell you are broken - "We recommend that you do not use this driver as it is known to have problems with Windows" - unless you try manually to update the driver and select the existing installed version; gee thanks, that's helpful ...).
That was a (considerable ...) pain. However we still had the "Exchange" databases, so as per the disaster recovery guide we re-built the server (not using an Intel RAID controller!), same name, same configuration (except for the RAID disc, but that wasn't used by "Exchange"), then tried to run "setup /M:RecoverServer /IAcceptExchangeServerLicenseTerms".
And that's where the problems started ...
The installation failed with:
Configuring Microsoft Exchange Server Preparing Setup COMPLETED Stopping Services COMPLETED Copying Exchange Files COMPLETED Language Files COMPLETED Restoring Services COMPLETED Language Configuration COMPLETED Mailbox role: Transport service FAILED The following error was generated when "$error.Clear(); Install-ExchangeCertificate -services IIS -DomainController $RoleDomai nController if ($RoleIsDatacenter -ne $true -And $RoleIsPartnerHosted -ne $true) { Install-AuthCertificate -DomainController $RoleDomainController } " was run: "Microsoft.Exchange.Management.Clients.FormsAuthenticationMar kPathUnknownSetError: An unexpected error occurred while modifying the forms aut hentication settings for path /LM/W3SVC/1. The error returned was 5506. at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception , ErrorCategory errorCategory, Object target, String helpUrl) at Microsoft.Exchange.Configuration.Tasks.Task.WriteError(Exception exception , ErrorCategory category, Object target) at Microsoft.Exchange.Management.SystemConfigurationTasks.InstallExchangeCert ificate.EnableForServices(X509Certificate2 cert, AllowedServices services) at Microsoft.Exchange.Management.SystemConfigurationTasks.InstallExchangeCert ificate.InternalProcessRecord() at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__b() at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String fun cName, Action func, Boolean terminatePipelineIfFailed)". The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.
So it failed trying to install a certificate?! There's a perfectly good, public CA provided, one already installed on the system and bound in IIS, why on Earth is the moronic "Exchange" installation programme trying to overwrite an existing valid configuration with its' own silly little self-signed certificate?! Not particularly impressed with the "error handling" being to dump a partial stack trace of a failed PowerShell cmdlet either - that's not how to report errors now is it? ...
And now the server is completely borked. It was then failing with a whinge about "The language pack bundle could not be found or is corrupt.", but that at least is easily rectified by nuking the "HKLM/SOFTWARE/Microsoft/ExchangeServer/V15/Language Packs" registry key to force them to be re-installed (so why doesn't the installer figure out for itself that they might need reinstalling if a previous installation failed?! Error handling and recovery 101 ... And, for that matter, why was the installation of the language packs - which we don't want anyway - corrupt when the installer said it had successfully completed that phase?).
Now it complains that "A Setup failure previously occurred while installing the HubTransport role" and suggests "Either run Setup again for just this role, or remove the role using Control Panel". But you can't run setup again for just that role, as specifying roles isn't supported for /M:RecoverServer (and if you try and install the role without giving /M:RecoverServer you just get a different irrelevant pile of nonsense errors instead); you can't remove the role using Control Panel because that whinges that a previous setup failed and you now have to run it from the install location. So that help text was useful wasn't it - might possibly be a good idea for your error message reporting actually to reflect the mode in which the setup programme was run, no?
So the installation failed because of something it shouldn't have been trying to do anyway, and now we can't install and we can't uninstall. Seriously, you folks have got to learn about error handling and recovery - cheez ...
So just what exactly are we supposed to do now? The help text is just plain wrong; I would re-build the server (again) but I've no reason to expect that doing so and re-trying the "Exchange" installation would have even slightly different results from it failing this time. So ...?!
- Edited by TEHM 19 hours 44 minutes ago Large chunks display in italics when using Chrome to edit, but the post itself appears OK when submitted ...